<?php

// 框架文件
// 定义一些目录常量
define('ROOT_PATH', './');
define('COMMON_PATH','./xbs/common');
define('CORE_PATH','./xbs/core');
define('LIB_PATH','./xbs/lib');

//引全局函数库
include COMMON_PATH.'/functions.php';

if(config('session_start')){
	session_start();
}

// 自动加载
function __autoload($classname)
{
	$files = [
		CONTROLLER_PATH.'/'.$classname.'.php',
		MODEL_PATH.'/'.$classname.'.php',
		CORE_PATH.'/'.$classname.'.php',
		LIB_PATH.'/'.$classname.'.class.php',

	];

	foreach ($files as  $file) {
		if(file_exists($file)){
			include $file;
		}
	}
}

if(config('url_type')==0){
	// 接路径上的参数
	$module = isset($_GET['m']) ? $_GET['m'] : config('defalut_module');

	$controller = isset($_GET['c']) ? ucfirst($_GET['c']): config('defalut_controller');

	$action =isset($_GET['a']) ? $_GET['a'] : config('defalut_action');
}

if(config('url_type')==1){

	$pathinfo =  $_SERVER['PATH_INFO'];

	$arr = explode('/',$pathinfo);

	$module = isset($arr[1]) ? $arr[1] : config('defalut_module');

	$controller = isset($arr[2]) ? ucfirst($arr[2]): config('defalut_controller');

	$action =isset($arr[3]) ? $arr[3] : config('defalut_action');
}


// 定义常量名 （模块 控制器  方法）
define("MODULE_NAME",$module);
define("CONTROLLER_NAME",$controller);
define("ACTION_NAME",$action);

// 定义常量名 （模块路径 控制器目录 视图目录  模型的目录）
define("MODULE_PATH",APP_PATH.'/'.MODULE_NAME);
define("CONTROLLER_PATH",MODULE_PATH.'/controller');
define("MODEL_PATH",MODULE_PATH.'/model');
define("VIEW_PATH",MODULE_PATH.'/view');


// var_dump(get_defined_constants(true)['user']);
// 组控制名
$classname = $controller."Controller";
// 实例化控制器
$obj = new $classname;
// 执行一个动作（方法）
$obj->$action();